home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / GCC 1.37.1r14 / usr / gcc-1.37.1r14 / object oriented files / CARArray.cp < prev    next >
Encoding:
Text File  |  1993-11-10  |  544 b   |  24 lines  |  [TEXT/KAHL]

  1. #include "CARArray.h"
  2.  
  3. long atol(char *);
  4.  
  5. void CARArray::IARArray( Handle itsData)
  6.   {
  7.   int member_offset = SARMAG;
  8.   IArray(sizeof (struct ar_hdr));
  9.   
  10.   /* Now find the members one by one.  */
  11.   while (member_offset < GetHandleSize(itsData))
  12.        {
  13.         struct ar_hdr member_header;
  14.  
  15.         BlockMove (member_offset+*itsData, &member_header, sizeof (struct ar_hdr));
  16.  
  17.         member_offset += sizeof (member_header) + atol (member_header.ar_size);
  18.         if (member_offset & 1)
  19.               ++member_offset;
  20.       
  21.         InsertAtIndex(&member_header, numItems+1);
  22.         }
  23.   }
  24.